package com.example.js_interaction.netweb;

import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.viewpager.widget.ViewPager;

import com.example.js_interaction.R;
import com.squareup.picasso.Picasso;

import java.util.ArrayList;
import java.util.List;

public class DisplayImageActivity extends AppCompatActivity {
    //控件对象
    ViewPager viewPager;
    //view的集合对象
    List<ImageView>mDatas;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_display_image);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
        //获取控件对象ID
        viewPager = findViewById(R.id.play_viewpager);
        //获取传递过来的数据
        Intent intent = getIntent();
        //获取传递过来的数据中的position变量
        int position = intent.getIntExtra("position",0);
        //获取传递过来的数据中的imgs变量
        String[] imgs = intent.getStringArrayExtra("imgs");
        //创建集合
        mDatas = new ArrayList<>();
        //for循环
        for (int i = 0; i < imgs.length; i++) {
            //在此界面创建一个imageview对象
            ImageView iv = new ImageView(this);
            //获取imgs数组中的图片传递给对象iv  Picasso是依赖库
            Picasso.get().load(imgs[i]).into(iv);
            /**
             * 设置iv的类型为  在视图中将图像居中，但不执行缩放
             * ImageView.ScaleType.CENTER 为  在视图中将图像居中，但不执行缩放
             * 说是不执行缩放 但是显示中他缩放了
             */
            //iv.setScaleType(ImageView.ScaleType.CENTER);
            //添加到集合对象中
            mDatas.add(iv);
        }
        /**
         * 把集合传递给DisplayAdapter类
         * DisplayAdapter 为  PagerAdapter 适配器类
         */
        DisplayAdapter displayAdapter = new DisplayAdapter(mDatas);
        //设置一个PagerAdapter，该PagerAdapter将根据需要为此页提供视图 参数需要适配器对象
        viewPager.setAdapter(displayAdapter);
        //设置当前所选页面。如果ViewPager已经通过其当前适配器的第一个布局，则在当前项目和指定项目之间将有一个平滑的动画过渡
        viewPager.setCurrentItem(position);
        //销毁集合
        mDatas.remove(mDatas);
    }

    /**
     * 函数复写
     * 在销毁活动之前执行任何最终清理
     */
    @Override
    protected void onDestroy() {
        //销毁viewPager
        viewPager.removeView(viewPager);
        super.onDestroy();
    }
}